/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Entidad;

import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name="ESTACION_TRABAJO")
public class EstacionTrabajo implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private int numero;
    @ManyToOne
    private Sala sala;
    private boolean disponibilidad;
    private int capacidad;
    private boolean pc;
    private boolean toma;
    private String descripcion;
    private int x;
    private int y;

    public EstacionTrabajo() {
    }

    public EstacionTrabajo(int numero, Sala sala, boolean disponibilidad, int capacidad, boolean pc, boolean toma, String descripcion, int x, int y) {
        this.numero = numero;
        this.sala = sala;
        this.disponibilidad = disponibilidad;
        this.capacidad = capacidad;
        this.pc = pc;
        this.toma = toma;
        this.descripcion = descripcion;
        this.x = x;
        this.y = y;
    }

    public int getX() {
        return x;
    }

    public void setX(int x) {
        this.x = x;
    }

    public int getY() {
        return y;
    }

    public void setY(int y) {
        this.y = y;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public boolean isPc() {
        return pc;
    }

    public void setPc(boolean pc) {
        this.pc = pc;
    }

    public boolean isToma() {
        return toma;
    }

    public void setToma(boolean toma) {
        this.toma = toma;
    }

    
    public int getCapacidad() {
        return capacidad;
    }

    public void setCapacidad(int capacidad) {
        this.capacidad = capacidad;
    }

    public boolean getDisponibilidad() {
        return disponibilidad;
    }

    public void setDisponibilidad(boolean disponibilidad) {
        this.disponibilidad = disponibilidad;
    }

    public int getNumero() {
        return numero;
    }

    public void setNumero(int numero) {
        this.numero = numero;
    }

    public Sala getSala() {
        return sala;
    }

    public void setSala(Sala sala) {
        this.sala = sala;
    }

    
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof EstacionTrabajo)) {
            return false;
        }
        EstacionTrabajo other = (EstacionTrabajo) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return id + "-" + sala.getNombre() + "-Est:" + numero +
                "\n Capacidad: " + capacidad +
                "\n Computador: " + pc +
                "\n Toma: " + toma +
                "\n Descipción: " + descripcion;
    }

}
